package com.mall507.fivepeaks.tools;

import android.content.Context;

import com.hzh.frame.widget.toast.BaseToast;

import java.util.HashMap;

import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;
import cn.sharesdk.wechat.friends.Wechat;
import cn.sharesdk.wechat.moments.WechatMoments;

/**
 * @author
 * @version 1.0
 * @date 2019/4/23
 */
public class ShareTools {

    /**
     * onekeyshare分享调用九宫格方法
     * @param title title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
     * @param content text是分享文本，所有平台都需要这个字段
     * @param imageLocalPath 图片的本地路径，Linked-In以外的平台都支持此参数 例:"/sdcard/test.jpg"
     * @param url url仅在微信（包括好友和朋友圈）中使用 
     */
    public static void showShare(Context context,String title, String content, String imageLocalPath, String url) {
        OnekeyShare oks = new OnekeyShare();
        //关闭sso授权
        oks.disableSSOWhenAuthorize();
        oks.setTitle(title);
        oks.setText(content);
        oks.setImagePath(imageLocalPath);
        oks.setUrl(url);
        oks.setSite(title);
        oks.show(context);

        //        oks.setTitleUrl("http://sharesdk.cn"); //titleUrl是标题的网络链接，仅在人人网和QQ空间使用
        //        oks.setUrl("http://sharesdk.cn"); //url仅在微信（包括好友和朋友圈）中使用 
        //        oks.setComment("我是测试评论文本"); //comment是我对这条分享的评论，仅在人人网和QQ空间使用
        //        oks.setSiteUrl("http://sharesdk.cn"); //siteUrl是分享此内容的网站地址，仅在QQ空间使用
    }

    /**
     * 分享图片到微信好友
     * @param content text是分享文本，所有平台都需要这个字段
     * @param imageLocalPath 图片的本地路径，Linked-In以外的平台都支持此参数 例:"/sdcard/test.jpg"
     */
    public static void showWechatFriends(String content, String imageLocalPath){
        Platform.ShareParams params = new Platform.ShareParams();
        params.setText(content);
        params.setImagePath(imageLocalPath);
        params.setShareType(Platform.SHARE_IMAGE);

        Platform platform = ShareSDK.getPlatform(Wechat.NAME);
        platform.setPlatformActionListener(new ShareCallBack());
        platform.share(params);
    }

    /**
     * 分享图片到微信朋友圈
     * @param content text是分享文本，所有平台都需要这个字段
     * @param imageLocalPath 图片的本地路径，Linked-In以外的平台都支持此参数 例:"/sdcard/test.jpg"
     */
    public static void showWechatMoments(String content, String imageLocalPath){
        showWechatMoments(content,imageLocalPath,null);
    }

    /**
     * 分享图片到微信朋友圈
     * @param content text是分享文本，所有平台都需要这个字段
     * @param imageLocalPath 图片的本地路径，Linked-In以外的平台都支持此参数 例:"/sdcard/test.jpg"
     */
    public static void showWechatMoments(String content, String imageLocalPath,PlatformActionListener shareCallBack){
        Platform.ShareParams params = new Platform.ShareParams();
        params.setText(content);
        params.setImagePath(imageLocalPath);
        params.setShareType(Platform.SHARE_IMAGE);

        Platform platform = ShareSDK.getPlatform(WechatMoments.NAME);
        if(shareCallBack == null){
            platform.setPlatformActionListener(new ShareCallBack());
        }else{
            platform.setPlatformActionListener(shareCallBack);
        }
        platform.share(params);
    }

    /**分享回调*/
    public static class ShareCallBack implements PlatformActionListener {
        @Override
        public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) { 
            BaseToast.getInstance().setMsg("分享成功").show(); 
        }
        @Override
        public void onError(Platform platform, int i, Throwable throwable) { 
            BaseToast.getInstance().setMsg("分享错误").show(); 
        }
        @Override
        public void onCancel(Platform platform, int i) { 
            BaseToast.getInstance().setMsg("分享取消").show(); 
        }
    }
    
}
